// Datapump that returns a streambuf for a file URL
// Copyright 2006 (C) Ralph Thomas

#ifndef MISSION_DATAPUMPS_STREAMBUF_H
#define MISSION_DATAPUMPS_STREAMBUF_H

#include <adobe/any_regular.hpp>
#include <adobe/array.hpp>
#include <adobe/adam.hpp>

namespace datapumps {
    //
    /// Return a boost::shared_ptr<std::streambuf> from the URL in the
    /// given array.
    ///
    /// \param  array   the array containing the URL to get the streambuf of.
    /// \param  sheet   the sheet to resolve \@references into.
    ///
    /// \return a datapump that returns a streambuf for the URL in the
    ///         array.
    //
    adobe::any_regular_t make_streambuf_datapump( const adobe::array_t& array, adobe::sheet_t& sheet );
};

#endif

